import Vue from 'vue';
import Router from 'vue-router';
import routes from 'vue-auto-routing';
import { createRouterLayout } from 'vue-router-layout';

Vue.use(Router);

// 以下的代码是解决路由重复---主要是侧边栏重复点击相同的item时控制台会报错，虽对项目无影响但控制台会报错
// 获取原型对象上的push函数
const originalPush = Router.prototype.push;
// 修改原型对象中的push方法
Router.prototype.push = function push(location) {
    return originalPush.call(this, location).catch(err => err);
};

const RouterLayout = createRouterLayout(layout => {
    return import('@/layouts/' + layout + '.vue');
});

// 添加错误URL的404页面, 并删除 vue-auto-routing 自动生成的404配置项
// routes.splice(0, 1);
// routes.push({
//     name: '404',
//     path: '*',
//     component: () => import('@/pages/404.vue')
// });

const isLocal = window.location.hostname === 'localhost';
console.log(routes);

export default new Router({
    mode: 'history',
    base: isLocal ? '/' : '/pssp/web',
    routes: [
        {
            path: '/',
            component: RouterLayout,
            children: routes
        }
    ]
});
